#!/usr/bin/env node

/**
 * 数据库初始化脚本
 * 使用方法: node scripts/init-db.js
 */

const { Pool } = require('pg')

// 数据库连接配置
const pool = new Pool({
  host: 'localhost',
  port: 5432,
  database: 'postgres', // 连接到默认数据库
  user: 'postgres',
  password: 'unidt@123',
})

async function createDatabase() {
  const client = await pool.connect()
  
  try {
    console.log('🔍 检查数据库是否存在...')
    
    // 检查数据库是否存在
    const result = await client.query(`
      SELECT 1 FROM pg_database WHERE datname = 'aide'
    `)
    
    if (result.rows.length === 0) {
      console.log('📝 创建数据库 aide...')
      
      // 创建数据库
      await client.query('CREATE DATABASE aide')
      console.log('✅ 数据库 aide 创建成功')
    } else {
      console.log('✅ 数据库 aide 已存在')
    }
    
  } catch (error) {
    console.error('❌ 创建数据库失败:', error.message)
    process.exit(1)
  } finally {
    client.release()
    await pool.end()
  }
}

// 运行脚本
createDatabase()
  .then(() => {
    console.log('🎉 数据库初始化完成')
    process.exit(0)
  })
  .catch((error) => {
    console.error('💥 数据库初始化失败:', error)
    process.exit(1)
  })
